Modern web applications may be built using a number of different techniques. For example, many web applications are based on a “page concept” in which a web server renders one web page at a time for viewing via a client browser window. A more flexible approach for presenting content utilizes portals. A portal is a web application that aggregates content from different portlet applications within a single web page. A portlet application, or portlet, is a pluggable user interface software component that produces fragments of markup code and is visibly contained within a portlet window of the portal application. Examples of content provided by portlets include, for example, e-mail, weather reports, discussion forums and news. In addition to content aggregation, portals typically provide a greater degree of personalization and a single sign-on for accessing all of the portal content of a web page.
Portal development and deployment may entail increased complexity and cost, however. In many cases, for example, it is necessary to add one or more separate portal servers to the underlying server infrastructure. Additionally, the need to comply with specialized standards and protocols (e.g., the JSR 168 or JSR 286 Java Portlet Specifications, Web Services for Remote Portlets (WSRP)) generally requires a greater level of development and maintenance expertise and longer development times. The use of specialized standards and protocols may also limit the types of applications able to consume portlet content and the flexibility to present the content in a number of formats. Although browser-based alternatives for providing portal-like features are known (e.g., meshing), such solutions are typically unrefined and may not provide sufficient granularity.